home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 1
/
Gold Medal Software Volume 1 (Gold Medal) (1994).iso
/
comms
/
jvfax60.arj
/
INTERF.DOC
< prev
next >
Wrap
Text File
|
1993-10-01
|
24KB
|
632 lines
List of demodulator interfacing modes for JVFAX 6.0:
====================================================
A) asynchroneous data acquisition
=================================
Serial port:
============
This is the standard method for data acquisition in JVFAX.
Because nearly every PC has a built in serial interface I've chosen
this to be to be the standard.
In order to keep the demodulator as simple as possible, not the
serial data input line RxD is used for data acquisition, but
instead the four incoming handshake lines (DCD,RI,CTS and DSR) are
used.
These four input lines look to the program like a 4 bit parallel port.
In order to expand tthe data input capability via these 4 lines to
8 bit, a multiplexing technique is used by the programme.
The program fist reads in the 4 most significant data bits with the
RTS line set to high.
Then, the RTS line is toggled to the low state and after a (very)
short delay the lower 4 bits are read.
If your interface delivers less than 8 data bits, these must be left
(MSB) aligned within the 8 bit word.
When using this interface method you must enter the >base< address
of your serial port in the address field.
Standard port base addresses for serial ports are 03F8h (COM1),
02F8h (COM2), 03E8h (COM3) and 02E8h (COM4).
No interrupt from the serial port in used, so the IRQ-field in the
configuration screen is meaningless. The data rate field is as well
meaningless, unless you're using a demodulator that can be remotely
controlled by JVFAX.
In such cases, control bytes are sent to the interface via the TXD
line with the baud rate specified in the baud rate field. (8N1)
Some more 'intelligent' interfaces such as the "EASYFAX" can interpret
these control bytes and be set to the appropriate deviation, etc.
You should set the "bits" field to the number of significant bits
that your interface can actually deliver.
To receive SSTV, your interface must either deliver a SSTV-sync pulse
information in the two least significant bits of the input data byte
(active low) or it must be set to 800 Hz deviation.
In the first case, the LSB-SSTV-sync entry in the configuration menu
must be set to "yes", else to no. Two bits of data are used for
SSTV sync identification to keep the program open for future
extensions, especially VIS-code (=vertical interval signalling)
interpretation.
If you're planning to design a new demodulator that would detect
the SSTV sync pulses individually, it should deliver the following
bit patterns in bit 0 and 1:
Bit 1 0 identifies:
========================
H L 1050-1100 Hz
L L 1150-1250 Hz
L H 1250-1350 Hz
At the moment however, it would be sufficient to set both bits to low
whenever a 1200 Hz sync pulse (+/- bandwidth) is present.
When LSB-SSTV sync is set to no, the program assumes that your
demodulator is set to 800 Hz deviation and will try to identify the
sync pulses itself.
Serial port/ser
===============
Works exactly like the above method with the difference that data is
read in serially via the RXD-line of the serial port.
In this case, the baud rate field must be set to the correct baud
rate of your interface. The interface must deliver data in the 8N1
format, and its baud rate should be set preferably to 57600 in order
to achieve a good picture resolution.
Comparator:
===========
This is by far the easiest way of getting a FAX-signal into the
computer.
Audio frequency from the receiver is shaped to a rectangular waveform
by means of a comparator and fed directly to one handshake line (DSR)
of a serial port.
Because the computer itself has to do all the signal decoding, this
is a very timing sensitive method that will fail on slow computers.
Even more, this method in some cases conflicts with some memory
managers such as EMM386. (But most interestingly not on every machine)
Results obtained with such a 'software demodulation' are from very
poor up to excellent.
Generally, you can prevent yourself from lots of frustrations when
not trying this kind of signal demodulation on a 8088/86 or
similarly slow computer.
A comparator circuit that could be used for software demodulation
might look like this one:
RS232
(25-pin)
100 nF 741 o.ä. 1N4148
┌───────┤─────O RTS 4
││ 3 │\ │7
O─────┤├───█─────────┤+\│
││ │ │ \ 6
AF in │ │ >────────────O DSR 6
│ 2 │ /
O───┐ │ ┌────┤-/│
│ │ │ │/ │4
─┴─ ┌┴┐ │ └───────├─────O DTR 20
│ │ ─┴─ 1N4148
47k │ │
└┬┘
│ ┌─────────────O GND 7
─┴─ ─┴─
RTS and DTR are programmed to serve as power supply leads for the
comparator, so that no external power supply is needed.
The 'bits' field can be set to 7 bits, but in some cases better
results are obtained when reducing this value to 6, or 4.
The port base address and the IRQ level of the serial port
must be enterd. Normally, IRQ is 4 for COM1 or COM3, and 3 for COM2
or COM4.
The program will not accept IRQ's above 7.
The data rate and baud rate fields are meaningless.
HAMCOMM:
========
This is just the same as the comparator interface with the
difference that the DTR and RTS lines are toggled to serve as a
transmit/receive switch.
The HAMCOMM interface is very popular for the reception of RTTY etc.
in conjunction with the famous HAMCOMM shareware program.
Parallal port:
==============
Data is being read from the specified port address periodically.
There's no handshake and all the timing is done by the program.
Despite the fact that this is by far the easiest way of interfacing,
as seen from the demodulator side, the problem is, that normally
there's no parallel input port available on PC's. Of course one could
use the game port or the 'modem status' port of any serial port, but
these all are only capable to deliver a 4-bit information.
The optimum solution would be a bidirectional printer port, where the
8 data lines could be used for input.
On some computers this is standard. (e.g. on Toshiba laptops, where
you can enable this option in the setup, or on some IBM-PS/2 models)
Fortunately, most older printer port cards (equipped with standard TTL
components) can be modified very easily for data input by simply
cutting the output enable pin of the data output latch.
No interrupt from the parallel port in used, so the IRQ-field in the
configuration screen is meaningless.
The baud rate field and the data rate field are as well meaningless.
Standard port addresses for printer ports are 0378h (LPT1:),
or 0278h (lpt2:).
If your interface delivers less than 8 data bits, these must be left
(MSB) aligned. You should set the "bits" field to the number of
significant bits that your interface can deliver.
In order to make a printer port bidirectional, or to prepare it for
input, bit 5 of the printer control port is set to high. before
reading any data from the data port.
Additionally, to get some IBM PS/2 machines set the printer port for
bidirectional operation, the follwing operations are performed
whenever JVFAX initializes:
020h is output to port 94h, then
bit 7 of port 0102h is reset, then
0A0h is output to port 94h.
Alternatively on a IBM Model 30, bit 7 of Port 065h is reset.
A&M design board, MEFAX:
========================
both are plug in cards which allow for the reception of both AM-
and FM-FAX signals.
Not all options of these cards are fully supported by the program,
especially regarding the A&M-board which allows for a synchroneous
buffered data acquisition.
Faxellite:
==========
is the interface that SSB-electronics supplies with their excellent
DIGISAT program.
I don't know whether they changed their interface design in the
meantime, so it might be that my program will not work with
the up-to-date version of this interface.
BPF2 (8 bit):
=============
is to interface to the BPF2 FM demodulator interface offered by
Ingenieurbüro Becker & Poth (see below)
B) synchroneous data acquisition
================================
While all the above interfaces leave the complete signal timing up
to the program's task, the following drivers are to support interfaces
that can deliver some kind of pixel clock, besides the data itself.
This gives some advantages when, for example, receiving polar orbiting
satellites or when replaying tape recordings of such satellite passes.
All these drivers haven't been tested yet, and I'm not sure if they
will work at all.
SYNCHRON SERIAL:
================
works quite the same way as the serial port/ser interfacing with the
difference that the program timing is derived from the data rate of
the interface. (not the baud rate!!)
The correct data rate must be entered in the data rate field of the
configuration screen. the baud rate must be at least ten times the
data rate, because for every pixel to be read there are 10 bits to be
transferred (8 data bits and one stop bit).
The data rate itself normally is determined by the signal source,
e.g. 2400 or 4800 pixels/s for polar orbiting satellites.
Use af an 16550 FIFO UART is strongly recommended.
BidPrintPortIRQ:
================
same interfacing method as parallel port (see above).
Will only work on a bidirectional printer port (or a printer port
modified for data input).
Additionally, the ACK-line serves as a data strobe signal which must
be fed with the synchroneous clock delivered from the interface
(active low).
BidPrintPortPoll:
=================
same interfacing as parallel port.
You need a parallel printer port that is bidirectional or that has
been made bidirectional.
To use this option your demodulatormust be capable of buffering at
least 2 (or better more) complete picture lines.
Data is read in aperiodically by the program. The program will
read data from the the data port whenever and as long as the ACK line
is kept low by the interface.
For every byte read, a short pulse is generated on the strobe line.
Because no tests have ever been made with this driver (due to the lack
of an appropriate interface) I'm in doubt if it will work as it
should. If anyone would develop an interface that meets these
specifications and would leave it to me for some tests I would try to
get the whole thing running.
This interfacing technique should enable the use of the JVFAX program
under WINDOWS or OS/2, so it could become more and more interesting in
the future.
List of modulator types that can be selected for JVFAX 6.0:
===========================================================
In general, every transmission done by JVFAX has a maximum intensity
resolution of 64 levels (6 bit). When outputting digital intensity
data via a serial or a parallel port, these bits are right (LSB)
aligned within the output byte, just in oppposite to the demodulator
seide, where every data is MSB aligned.
You can use the following 'modulators':
Speaker:
========
audio is generated through the PC's built in speaker.
you can use a simple low pass filter to obtain a signal that can be
fed to your transmitter's microphone input jack:
100 nF
to 220 10k
speaker ││ ┌───┐ ┌───┐
O─────┤├──┤ ├─█─┤ ├─█─────┐
││ └───┘ │ └───┘ │ │ 10k
│ │ ┌┴┐ v: depends on your TX's
(use the lead) │ │ │ │ ┌───┐input characteristic
(that gives maximum) │4n7 │4n7 │ │───┤ ├───O
(audio output) ─┴─ ─┴─ │ │ └───┘ to
─┬─ ─┬─ │ │ 1k-100k transmitter
│ │ └┬┘ ┌───────O
O───┐ │ │ │ │ 100 nF means .1 µF
│ │ │ │ │ 4n7 means .0047 µF
GND ─┴─ ─┴─ ─┴─ ─┴─ ─┴─
Serial audio:
=============
works like the above one, but audio is generated on the TxD line of a
serial port. You must enter the base assress of your serial port
into the address field.
Please notice that only a reduced amount (abt. 13) of intessity levels
will be generated when using this option, since the baudrate generator
of the serial port is used to generate the audio frequency.
The problem is, that the input clock frequency for the baud rate
generator is only about 115 kHz, which leads to very coarse frequency
steps being programmable.
You can use the same low pass filtering as above to connect the TxD
pin of the serial port to your transmitter's input.
Serial port:
============
when having selected this option, no audio is generated by the
computer. Instead, the digital intensity information is being output
to the TxD line of the serial port (0 for black, 63 for white, etc.)
The format 8N1 is used, with the baud rate selected in the baud rate
field.
Your modulator must parallelize this information, convert it to an
analogue signal and feed a voltage controlled audio generator with it.
An example modulator that works this way is shown in the file
"MODULAT.GIF"
Output values above 63 indicate a remote control command to a
demodulator being eventually connected to the same port, with the
exception of the following:
125: generate 1100 Hz audio ;as SSTV sync signal
126: " 1200 Hz " ;all values are in decimal
127: " 1300 Hz "
The differentiation between 1100,1200 and 1300 Hz is for future
releases of JVFAX to enable VIS signalling.
to simplify things, you can generate a 1200 Hz tone whenever values
greater than 63 and less then 128 are being output.
If you don't want to transmit in SSTV you can forget about all that
1200 Hz stuff.
Parallel port:
==============
like above, but data is being output via a parallel port, e.g. a
printer port.
IBM parallel port 25 pin connector:
===================================
/Strobe 1 ───O
D0 2 ───O O─── 14 /Auto feed
D1 3 ───O O─── 15 /Fault
D2 4 ───O O─── 16 /Reset
D3 5 ───O O─── 17 /Select in
D4 6 ───O O─── 18 GND
D5 7 ───O O─── 19 GND
D6 8 ───O O─── 20 GND
D7 9 ───O O─── 21 GND
/ACK 10 ───O O─── 22 GND
Busy 11 ───O O─── 23 GND
PE 12 ───O O─── 24 GND
Select 13 ───O O─── 25 GND
Signals which are preceeded with a "/" are active low.
IBM serial port 25 pin connector:
=================================
Prot.GND 1 ───O
TXD 2 ───O O─── 14
RXD 3 ───O O─── 15
RTS 4 ───O O─── 16
CTS 5 ───O O─── 17
DSR 6 ───O O─── 18
GND 7 ───O O─── 19
DCD 8 ───O O─── 20 DTR
9 ───O O─── 21
10 ───O O─── 22 RI
11 ───O O─── 23
12 ───O O─── 24
13 ───O O─── 25
IBM serial port 9 pin connector:
================================
DCD 1 ───O
RXD 2 ───O O─── 6 DSR
TXD 3 ───O O─── 7 RTS
DTR 4 ───O O─── 8 CTS
GND 5 ───O O─── 9 RI
Configuration hints on some demodulators
========================================
Here is shown what you should enter in the demodulator/modulator
field of the configuration menu when using the following devices:
EASYFAX:
========
Demodulator: 8 bits on serial port; Baud rate 57600
Modulator: 6 bits on serial port LSB-SSTV-sync: yes
Do not use the "serial port/ser" option for demodulator. This would
work too, but using the "serial port" interfacing gives better results.
Port addresses depend on what serial port your Easyfax is
connected to.
HARI-FAX:
=========
Demodulator: 8 bits on serial port/ser. Baud rate 38400
LSB-SSTV-sync: no
Modulator: use Speaker or serial audio with the circuit
described above
Port address for "demodulator" depends on what serial port your
HARI-FAX is connected to.
DL5JM demodulator/modulator:
============================
Demodulator: 7 bits on serial port Baud rate 38400
LSB-SSTV-sync: no
Modulator: 6 bits on serial port
Port addresses depend on what serial port your demodulator/
modulator is connected to.
WRAASE MR-9202:
===============
Demodulator: 8 bits on serial port; Baud rate: doesn' matter
LSB-SSTV-sync: doesn't matter
Modulator: use Speaker or serial audio with the circuit
described above
Port address for "demodulator" depends on what serial port your
WRAASE RECEIVER is connected to.
NSK-demodulator:
================
Demodulator: 7 bits on serial port Baud rate: doesn't matter
LSB-SSTV-sync: no
Modulator: use Speaker or serial audio with the circuit
described above
Port address for "demodulator" depends on what serial port your
NSK demodulator is connected to.
BPF2 (8 bit version):
=====================
Demodulator: 7 bits on BPF 2 (8 bit) Baud rate 57600
LSB-SSTV-sync: no
Modulator: use Speaker or serial audio with the circuit
described above
Port address for "demodulator" depends on what serial port your
BPF 2 is connected to. Becker & Poth deliver a "8 bit" version
of the BPF 2, specially designed for use with JVFAX.
There is a "9 bit" version of the BPF 2, too, which will currently
not work with JVFAX.
A short list of (german) demodulator/modulator suppliers known to me:
=====================================================================
This list will certainly be incomplete, and the ordering of the
addresses will not tell anything about the quality of the interfaces
being offered.
All these interfaces should co-operate with JVFAX, but in no case
I can guarantee for that.
PCBs and kits from DL5JM:
Achim Kündahl, DL5JM in Wetter, has PCBs and kits for both a 16 grey
scale FM and a 64 grey scale AM/FM interface as well as for a
modulator circuit.
His address:
Achim Kündahl
DL5JM
Grünewalder Str. 21
58300 Wetter
Tel.: 02335/60572
"Easyfax" kit from Ulrich Bangert, DF6JB:
Ulrich developed a superb µP-based transmit/recieve interface that is
easy to assemble and that needs absolutely no alignment. It can handle
up to 256 intensity levels, AM and FM FAX as well as SSTV.
The interface is offered as a complete kit including a preassembled
case and can be easily updated by EPROM exchange.
Ulrichs address:
Ulrich Bangert
DF6JB
Weddigenstr. 28
42389 Wuppertal
Tel.: 0202/602537
"MMI" by C-Data:
This interface should co-operate with JVFAX, too.
However, C-data offers a FAX program of their own for this interface.
Address:
C-Data
Hohenwarter Str. 6
85276 Pfaffenhofen
Tel.: 08441/6145
"DK8JV-FAX-Konverter" by NSK:
A 64 grey scale demodulator for AM and FM FAX
Address:
Ingenieurbüro für Satellitentechnik
Dipl.-Ing. B. Ewert
Mühlenweg 11
24217 Stakendorf
Tel.: 04344/6758
"Meteosat-Empfangs-Set"
Complete rig for the reception of geostationary weather satellites
such as Meteosat, including receiver, antenna and interface.
Available from
Fa. Bogerfunk
Funkanlagen GmbH
Grundesch 15
88326 Aulendorf
Tel.: 07525/451
"WX-Satelliten-Empfänger MR-9202"
A 137-Mhz receiver for polar orbiting satellites with a built-in
interface.
Available from:
Volker Wraase Elektronik
Kronsberg 10
24161 Altenholz
Tel.: 0431/32528
"BPF 2"
A µC controlled subminiature FM demodulator is supplied by
Ingenieurbüro Becker & Poth GmbH
Düsselthaler Str. 49
40211 Düsseldorf
Tel: 0211/9061340
"HARI-FAX"
A µC controlled AM/FM fax demodulator that can deliver up to 256
intensity levels. Available as kit or as assembled board.
Fa. Siegfried Hari
Spessartstr. 80
63448 Seligenstadt
Both the Easyfax and the Hari-Fax interface support remote control
of the interface by the JVFAX program.